通过DHCP选项集统一配置VPC内ECS域名

网络中的每个设备要进行TCP/IP通信,必须拥有一个IP地址。传统的IP地址分配是手动操作,如今DHCP服务器已可以使用DHCP协议动态分配IP地址。在阿里云VPC中,DHCP选项集为VPC内的ECS实例等资源提供统一的网络设置,简化了网络配置。

功能介绍

什么是DHCP选项集?

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一种网络协议,允许服务器向客户端动态分配IP地址和配置信息,使这些设备能够通信和访问网络资源;它简化了网络管理,解决了过去在TCP/IP网络中必须手动为每台设备分配IP地址的问题。

DHCP选项集(DHCP Options Set)是阿里云中用于定义和集中管理网络参数的工具,允许用户统一配置如DNS服务器、域名等关键网络设置。专有网络VPC绑定DHCP选项集后,VPC中的ECS实例向DHCP服务器发送请求以获取选项集中的网络配置信息(域名、DNS服务器等),从而可以确保VPC内的所有ECS实例接收一致且定制化的网络配置,而无需手动为每个实例配置这些网络信息。

DHCP选项集类型

DHCP选项集包括默认DHCP选项集和自定义DHCP选项集:

  • 默认DHCP选项集包括ECS提供的私网域名以及阿里云的默认DNS服务器,该域名和DNS服务器不可修改,且默认DHCP选项集不占用DHCP选项集的资源配额。

    • 每个地域首次开启DNS主机名时自动创建默认DHCP选项集并绑定至VPC,此时该VPC内的ECS实例可以统一配置指定的私网域名,且可以通过指定私网域名和主机名实现资源互访。禁用DNS主机名后,系统会自动解绑默认DHCP选项集但不会删除。若该地域其他VPC启用DNS主机名,系统自动将该默认DHCP选项集绑定至新的VPC上。

    • 您可以手动解除默认DHCP选项集与VPC的绑定,解绑后VPC内的ECS实例将无法通过ECS主机名实现资源访问。

  • 自定义DHCP选项集支持自定义的域名和DNS服务器,通过将该选项集绑定至VPC,VPC内的实例可以自动获取定制化的网络配置信息。

应用场景

统一网络配置:通过配置自建DNS服务器并与VPC中的DHCP选项集结合使用,企业能够为部署的ECS实例提供统一的网络配置信息,有助于简化开发测试环境搭建,对于促销季扩容等场景能够减少网络配置流程,提高效率。

使用限制

支持的地域

单击查看支持的地域

公有云支持的地域

区域

支持DHCP选项集的地域

亚太

华东1(杭州)华东2(上海)华北1(青岛)华北2(北京)华北3(张家口)华北5(呼和浩特)华北6(乌兰察布)华南1(深圳)华南3(广州)西南1(成都)中国香港日本(东京)韩国(首尔)新加坡马来西亚(吉隆坡)印度尼西亚(雅加达)菲律宾(马尼拉)泰国(曼谷)

欧洲与美洲

德国(法兰克福)英国(伦敦)美国(硅谷)美国(弗吉尼亚)

中东

阿联酋(迪拜)沙特(利雅得)

重要

沙特(利雅得)地域由合作伙伴运营。

金融云支持的地域

区域

支持DHCP选项集的地域

亚太

华南1 金融云华东2 金融云华北2 金融云(邀测)

配额

单击查看配额项

配额名称

描述

默认限制

提升配额

单个账号支持创建的DHCP选项集的数量

10个

无法提升

单个DHCP选项集支持关联的VPC的数量

10个

单个VPC支持关联的DHCP选项集的数量

1个

单个DHCP选项集支持配置的域名的数量

1个

单个DHCP选项集支持配置的DNS服务器IP地址的数量

4个

场景示例

某企业在华北2(北京)地域拥有一个VPC,内部部署了多台ECS实例以处理不同业务(本文以两台ECS为例进行配置说明)。同时,该企业拥有一套自建DNS服务器,旨在为内部系统提供私网域名解析服务,从而方便且安全地实现ECS实例之间的互联互通。

为提高网络管理效率并简化管理流程,企业希望使用阿里云的DHCP选项集功能,统一为VPC内所有ECS实例配置私网域名和自建DNS服务器信息,从而避免对每台ECS实例逐一进行配置的繁琐工作。

image

工作流程如下:

序号

说明

VPC中创建ECS实例后,ECS实例与DHCP服务器交互获取IP地址等信息。

DHCP选项集绑定至VPC,VPC中的ECS获取DHCP选项集中的网络配置信息(包括自定义域名,自建DNS服务器等网络相关配置信息)。

ECS实例获取DHCP选项集的配置信息后,向DNS服务器发送查询请求,以获取域名与IP地址的映射关系,然后DNS服务器返回相应的解析结果给ECS实例,ECS实例即可使用自定义域名进行互访。

前提条件

您已在华北2(北京)地域创建了一个专有网络VPC,并在其中配置了两台ECS实例,分别命名为ECS01和ECS02。此外,在该地域拥有一个自建DNS服务器,并在该服务器上配置ECS01和ECS02的私有域名及其对应私有IP地址的映射。

本文实例的参数配置

配置项

具体配置

专有网络VPC

VPC网段:192.168.0.0/16

自建DNS服务器

私网IP:192.168.1.197

ECS实例

  • ECS01实例:

    • 私网IP地址:192.168.1.196

    • 私网域名:Web01.example.com

  • ECS02实例:

    • 私网IP地址:192.168.1.198

    • 私网域名:Web02.example.com

快速部署DNS服务器参考

  1. 下载项目文件dns-server.zip

  2. 登录阿里云Cloud Shell,上传下载的文件至Cloud Shell。

    image

  3. 依次执行以下命令,解压压缩包,进入工程根目录,初始化脚本并创建资源。

    unzip dns-server.zip
    cd dns-server
    terraform init
    terraform apply -auto-approve

    若返回如下结果则表示资源已创建成功。

    Apply complete! Resources: 8 added, 0 changed, 0 destroyed.

操作步骤

步骤一:创建并关联DHCP选项集

  1. 登录专有网络管理控制台
  2. 在左侧导航栏,单击DHCP选项集
  3. 在顶部菜单栏处,选择要创建DHCP选项集的地域。

    说明

    DHCP选项集的地域必须与要关联的VPC的地域相同。

  4. DHCP选项集页面,单击创建DHCP选项集
  5. 创建DHCP选项集页面,根据以下信息配置DHCP选项集,然后单击确定创建

    配置

    说明

    域名

    输入主机名后缀。本文输入example.com

    说明
    • 输入主机名后缀为example.com,该DHCP选项集关联到VPC后,VPC中ECS的/etc/resolv.conf文件会自动添加search example.com作为搜索域。您可以仅通过主机名访问该VPC中的其他ECS实例,系统会自动补全主机名后缀。例如,当您输入主机名Web01时,系统会尝试解析Web01.example.com,若有对应的DNS记录,访问即可成功,无需记忆完整域名。

    • 本文以运行Linux CentOS 7.9操作系统的ECS服务器为例进行配置说明,Windows操作系统如何查看搜索域请参见您的操作系统手册。

    DNS域名服务器IP

    本文单击自定义服务器IP,输入192.168.1.197

    最多可以指定4个自定义域名服务器IP。

    重要

    指定域名服务器IP为自定义域名服务器IP时,请注意:

    • 系统会为您自动填入阿里云VPC中默认的私网DNS服务器地址(100.100.2.136和100.100.2.138),如果您删除系统自动填入的私网DNS服务器地址,可能会导致您无法访问阿里云基础云上服务,请谨慎操作。

    • 您需要在安全组网络ACL(如有)中添加允许访问自定义域名服务器IP的规则,否则可能导致无法解析私有服务。

    • 不支持添加IPv6的DNS服务器IP。

  6. 创建DHCP选项集页面,单击关联专有网络

  7. 关联专有网络对话框中,选择ECS所在的VPC,然后单击确定

    说明
    • 一个DHCP选项集可以关联多个同地域VPC,但一个VPC只能关联一个同地域DHCP选项集。

    • DHCP选项集与VPC关联后:

      • VPC中存量的ECS实例会在重启ECS实例、重启ECS实例中DHCP进程或者重启网络服务后使用DHCP选项集中的配置。

      • VPC中新建的ECS实例会自动使用DHCP选项集中的配置。

    • 如果DHCP选项集关联的VPC开启了共享VPC功能,则DHCP选项集也会对共享VPC内的ECS实例生效。

步骤二:测试验证

  1. 重启ECS01和ECS02。

  2. (可选)登录ECS01和ECS02实例,执行cat /etc/resolv.conf命令。

    若返回如下结果,则说明绑定的DHCP选项集中的配置已生效。

    conf.png

  3. 测试连通性

    登录ECS01实例,分别执行以下命令,测试ECS01是否可以通过主机名和私网域名访问ECS02实例。

    ping Web02
    ping Web02.example.com

    若返回以下测试结果,则ECS01可以通过主机名访问ECS02实例。

    web02.png

    若返回以下测试结果,则ECS01可以通过私网域名访问ECS02实例。

    web02.example.com.png

更多操作

解除关联DHCP选项集

说明

解除VPC与DHCP选项集的关联后:

  • VPC中存量的ECS实例会继续使用解除关联前DHCP选项集的配置,直到重启ECS实例、重启ECS实例中DHCP进程或者重启网络服务。

  • VPC中新建的ECS实例不会使用解除关联前DHCP选项集的配置(域名和自定义DNS服务器),而是会使用阿里云默认DNS服务器。

您可以通过以下方式解除DHCP选项集和VPC的关联。

  • 专有网络页面,单击目标实例ID。根据图示操作,解除关联。

    解除关联(VPC).png

  • DHCP选项集页面,单击目标实例ID。根据图示操作,解除关联。

    解除关联(DHCP).png

修改DHCP选项集

说明

修改DHCP选项集后:

  • VPC中存量的ECS实例会继续使用修改前DHCP选项集的配置,直到重启ECS实例、重启ECS实例中DHCP进程或者重启网络服务。

  • VPC中新建的ECS实例会使用修改后的DHCP选项集中的配置。

DHCP选项集页面,单击实例ID。根据图示操作,修改DHCP选项集。

编辑DHCP选项集.png

常见问题

  1. 若您使用阿里云默认DNS服务器,如何使用私网域名实现VPC中的ECS互访?

    您可以通过以下两种方式:

  2. 存量ECS实例所在VPC绑定DHCP选项集后,如何重启网络服务?

    不同Linux操作系统,重启网络服务的方法不同,下表列举了常见操作系统重启网络服务的命令。

    操作系统

    Version

    重启网络服务命令

    CentOS

    6

    service network restart

    7

    systemctl restart network

    8

    systemctl restart NetworkManager

    Debian

    8

    systemctl restart networking

    9

    systemctl restart networking

    10

    systemctl restart networking

    Ubuntu

    14

    service networking restart

    16

    systemctl restart networking

    18

    systemctl restart systemd-networkd

    20

    systemctl restart systemd-networkd

    Alibaba Cloud Linux 2

    2

    systemctl  restart  network

    Alibaba Cloud Linux 3

    3

    systemctl restart  NetworkManager

相关文档